// user用户路由的存放模块

// 导入express
const express = require('express')
const router = express.Router()
// 导入处理函数
const { registerHandler, loginHandler, gethomeinfo, getplayinfo, getshareinfo, getelseinfo } = require('../router_handler/user')
// 导入自动验证表单数据的中间件 npm i @escook/express-joi
const expressJoi = require('@escook/express-joi')
// 导入验证表单规则对象
const { user_schema } = require('../schema/user')

// 1. 在注册新用户的路由中，声明局部中间件，对当前请求中携带的数据进行验证
// 2. 数据验证通过后，会把这次请求流转给后面的路由处理函数
// 3. 数据验证失败后，终止后续代码的执行，并抛出一个全局的 Error 错误，进入全局错误级别中间件中进行处理

// 注册接口
router.post('/register', expressJoi(user_schema), registerHandler)

// 登录接口
router.post('/login', expressJoi(user_schema), loginHandler)

// 获取首页数据
router.get('/gethomeinfo/:num', gethomeinfo)
// 获取一起玩板块数据
router.get('/getplayinfo/:num', getplayinfo)
// 获取每日分享综合板块数据
router.get('/getshareinfo/:num', getshareinfo)
// 获取其他板块数据
router.get('/getelseinfo/:num', getelseinfo)

// 导出
module.exports = router